package com.codejam.hello.world.anno.auth;

import java.lang.annotation.*;

/**
 * 权限注解
 *
 * 在同一个类中，一个方法调用另一个有注解（好比@Async，@Transational）的方法，注解是不会生效的。代理
 * 缘由：io
 * 　　经过Spring注解标识的方法，在Spring加载类的时候会生成代理类，经过代理类调用本来类的方法。方法
 * 　　而同一个类中，方法间的调用并不会经过代理类，而是直接调用。
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface PermissionCheck {

    String resourceKey();

}
